package com.jt.controller;

import com.jt.pojo.ItemCat;
import com.jt.service.ItemCatService;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/itemCat")
public class ItemCatController {
    @Autowired
    private ItemCatService itemCatService;

    /*
    * url:/itemCat/findItemCatList/{level}
    * 参数：{level}
    * 返回值：SysResult
    * */
    @GetMapping("/findItemCatList/{level}")
    public SysResult findItemCatList(@PathVariable Integer level){

        List<ItemCat> list=itemCatService.findItemCatList(level);
        return SysResult.success(list);
    }

    /*
    * 业务需求：实现商品分类入库操作
    * URL：/itemCat/saveItemCat
    * 参数：表单数据 JS对象 JSON串 Java对象
    * 返回值：SysResult
    * */
    @PostMapping("/saveItemCat")
    public SysResult saveItemCat( @RequestBody ItemCat itemCat){
        itemCatService.saveItemCat(itemCat);
        return SysResult.success();
    }
    /*
    * 商品状态修改
    * URL：/updateItemStatus
    * 请求类型：put
    * 请求参数：使用对象进行接收
    * */
    @PutMapping("/status/{id}/{status}")
    public SysResult updateItemStatus(ItemCat itemCat){
        itemCatService.updateItemStatus(itemCat);
        return SysResult.success();
    }

    /*
    * 商品分类修改
    * URL：/updateItemCat
    * 请求类型：put
    * 请求参数：使用对象进行接收
    * */
    @PutMapping("/updateItemCat")
    public SysResult updateItemCat(@RequestBody ItemCat itemCat){
        itemCatService.updateItemCat(itemCat);
        return SysResult.success();
    }

    /*
    * 商品删除
    * URL：/deleteItemCat
    * 请求类型：delete
    * 请求参数：id level
    * 业务描述：
    * 1. 判断level是否为1，如果是1，则不允许删除
    * 2. 判断是否有子节点，如果有子节点，则不允许删除
    * 3. 删除商品分类
    * */
    @DeleteMapping("/deleteItemCat")
    public SysResult deleteItemCat(ItemCat itemCat){
        itemCatService.deleteItemCat(itemCat);
        return SysResult.success();
    }

}
